home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 010 / artilery.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1984-04-24  |  2.4 KB  |  88 lines

  1. 2  REM by Jordan Ellenberg
  2. 5  REM color graphics card needed
  3. 10  SCREEN 1:OUT 980,2:OUT 981,43
  4. 20  ON ERROR GOTO 820
  5. 30  KEY OFF:CLS
  6. 40  LOCATE 12,16:PRINT "ARTILLERY!"
  7. 50  LOCATE 15,22:PRINT"By Jordan Ellenberg"
  8. 60  LINE(158,0)-(162,85),2,BF
  9. 70  LINE(110,81)-(205,85),2,BF
  10. 80  LINE(110,81)-(114,100),2,BF
  11. 90  LINE(205,85)-(201,100),2,BF
  12. 100  LINE(110,100)-(205,96),2,BF
  13. 110  LINE(158,100)-(162,199),2,BF
  14. 120  PLAY"O3L4GGG8GD+B-8GD+B-8G"
  15. 130  PLAY"O4L4DDD8DD+O3B-8GD+B-8GP1"
  16. 140  CLS:INPUT"DO YOU WANT INSTRUCTIONS";I$
  17. 150  IF LEFT$(I$,1)="Y" THEN 720
  18. 160  INPUT"DO YOU WANT SOUND";S$
  19. 170  S$=LEFT$(S$,1)
  20. 180  V=VAL(MID$(TIME$,4,2))+VAL(MID$(TIME$,7,2))
  21. 190  RANDOMIZE V
  22. 200  CLS
  23. 210  P(1)=CINT(60*RND(1))+50
  24. 220  P(2)=CINT(60*RND(1))+210
  25. 230  A=100
  26. 240  B=RND(1)
  27. 250  FOR I=0 TO 319
  28. 260  PSET(I,A):PSET(I,A+1)
  29. 270  C=RND(1)+0.25
  30. 280  IF B>0.5 THEN 310
  31. 290  IF C>0.8 THEN A=A+1 ELSE A=A-1
  32. 300  GOTO 330
  33. 310  IF C>0.2 THEN A=A+1 ELSE A=A-1
  34. 320  B=C
  35. 330  IF A=0 THEN C=0.9:GOTO 280
  36. 340  IF A=199 THEN C=0:GOTO 280
  37. 350  IF I=P(1) THEN A(1)=A
  38. 360  IF I=P(2) THEN A(2)=A
  39. 370  NEXT I
  40. 380  LINE(P(1),A(1))-(P(1)-5,A(1)-5),1,BF
  41. 390  LINE(P(2),A(2))-(P(2)-5,A(2)-5),2,BF
  42. 400  T=1:G=0:PLAYER=1
  43. 410  LOCATE 25,1:PRINT "PLAYER";PLAYER;:LOCATE 1,1
  44. 420  INPUT"VELOCITY (30-200)";V$:IF PLAYER=1 THEN PLAYER=2 ELSE PLAYER=1
  45. 430  LOCATE 1,18:PRINT "     "
  46. 440  INPUT"ANGLE (1-85)";A$
  47. 445  LOCATE 2,13:PRINT "     "
  48. 450  IF VAL(V$)<1 OR VAL(A$)<1 THEN 825
  49. 456  V=VAL(V$):A=VAL(A$):A=A*3.1416/180
  50. 460  S=TAN(A)
  51. 470  X=P(T)-(6*(T-1)):Y=A(T)-6
  52. 480  PSET(X,Y),3:IF S$="Y" THEN SOUND (150-Y)*10,1
  53. 490  X1=X+3-(2*T):Y1=Y-S+G/V
  54. 500  IF POINT(X1,Y1)<>0 THEN 530
  55. 510  PSET(X,Y),0:X=X1:Y=Y1
  56. 520  G=G+1:GOTO 480
  57. 530  P=POINT(X1,Y1)
  58. 540  IF P=3-T THEN 640
  59. 550  LINE(X1,Y1-1)-(X1-4,Y1-10)
  60. 560  LINE(X1,Y1-1)-(X1,Y1-10)
  61. 570  LINE(X1,Y1-1)-(X1+4,Y1-10)
  62. 580  IF S$="Y" THEN PLAY"O1L64CECECECECECECE"
  63. 590  FOR I=1 TO 500:NEXT I
  64. 600  LINE(X1,Y1-1)-(X1-4,Y1-10),0
  65. 610  LINE(X1,Y1-1)-(X1,Y1-10),0
  66. 620  LINE(X1,Y1-1)-(X1+4,Y1-10),0
  67. 630  T=3-T:G=0:GOTO 410
  68. 640  T=3-T
  69. 650  FOR I=1 TO 10
  70. 660  IF S$="Y" THEN SOUND 100*I,0.01
  71. 670  LINE(P(T)+I,A(T)+I)-(P(T)-5-I,A(T)-5-I),T,BF:NEXT I
  72. 680  LINE(P(T)+10,A(T)+10)-(P(T)-15,A(T)-15),0,BF
  73. 690  SOUND 37,0
  74. 700  INPUT"WANT TO PLAY AGAIN(Y/N)";P$
  75. 710  IF P$="Y" THEN 140 ELSE 825
  76. 720  PRINT "  This game is for two players.Each       one controls one base.The two bases
  77. 730  PRINT "  are blue and red.Blue goes first.When    the computer asks for velocity it
  78. 740  PRINT "  wants to know how hard you want to      shoot your missile.Enter a number
  79. 750  PRINT "  about 30 to 200.Then it will ask for    angle.45 is equally out and up,30 is
  80. 760  PRINT "  mostly out,and 60 is mostly up.Enter    any number from 1 to 85.Whoever hits
  81. 770  PRINT "  the other player's base first wins.
  82. 780  PRINT:PRINT "  Good luck!"
  83. 790  PRINT:PRINT "  Press any key to continue
  84. 800  A$=INPUT$(1)
  85. 810  GOTO 160
  86. 820  IF ERR=73 THEN PRINT "  You aren't in BASICA.Load BASICA and    try again.
  87. 825  KEY ON:END
  88.